// importar módulos
var fs = require('fs');
var assert = require('assert');
var http = require('http');
var url_parse = require('url').parse;

var nome_arq = process.argv[2];
var entrada, linhas, i, params;

var parse_headers = function parse_headers(urlStr) {
	var headers = url_parse(urlStr);
	headers.path = headers.pathname;
	delete headers.pathname;
	headers.host = headers.hostname;
	delete headers.hostname;
	return headers;
}

// inicialização síncrona
entrada = JSON.parse(fs.readFileSync(nome_arq));
linhas = entrada.rows;
assert.strictEqual(linhas.length, entrada['total_rows'], 'linhas.length !== total_rows');
console.log('%d urls in %s', linhas.length, nome_arq);

for (i=0; i<linhas.length; i++) {
	params = parse_headers(linhas[i].value);
	console.log('GET ' + JSON.stringify(params));
	(function faz_get(href) {
	http.get(params, function(res) {
	  console.log("HREF " + href);
	  console.log("RESPONSE: " + res.statusCode);
	  console.log(JSON.stringify(res.headers));
	}).on('error', function(e) {
	  console.log("HREF " + href);
	  console.log("ERROR: " + e.message);
	})})(params.href);
}

/*
var http_get_options = {
  host: 'www.google.com',
  port: 80,
  path: '/index.html'
};
*/